The basic operation and structure of land mobile radio communication systems and cellular radio/telephone communication systems (communication systems) are known. Ongoing advances in microprocessor, radio frequency (RF), and digital communications technology have led to increased operational capabilities of communication systems. Techniques allowing the transmission of data information (non-voice information) through voice-based communication systems is well known in the art. For example, the use of MDC (Motorola Data Communications standard) in Motorola voice-based communication units allows message signalling to users in a communication system. Furthermore, the existence of digital communication systems, such as Motorola's Astro system, allow even greater capabilities in the transmission of data information. The advancing data capabilities of communication systems essentially demands that communication units have increased computing capacities. Similar to the developments in communication devices discussed above, parallel developments have also occurred in the realm of computing devices.
The basic operation and structure of computing devices, such as personal computers, are known. Technological advances similar to those mentioned above have led to increased communication capabilities of computing devices, particularly through wireless resources. For example, Motorola's Altair system provides wireless Ethernet communications for computer networks. Thus, any Ethernet-compatible computer can perform data transactions through small "repeaters" located within a local area, such as an office or entire building. On a larger scale, the ARDIS system provides data communication service via a nationwide RF (radio frequency) network system. In this system, data-only terminals, such as the KDT-840, can wirelessly access the network via a plurality of base stations scattered throughout the country. In light of such developments, the differences between communication and computing devices, both hereafter referred to as processing devices, are becoming less distinct. In particular, such processing devices are similar in at least two aspects: they are capable of operating multiple software applications and they have wireless access to communication networks.
Processing devices often utilize various software applications in communicating with one another. For example, processing devices communicating voice information may use a particular voice encoding algorithm embodied in a unique software application. Furthermore, data information communicated between processing devices may use word processing software. Frequently, software applications which enable voice and data communications in processing devices are licensed or purchased by users. For instance, a customer may purchase a Motorola Privacy Plus.TM. system and pay an extra fee to have software embedded allowing a certain group of communication units to have additional telephone interconnect capabilities. Similarly, users of everyday word processing applications, such as Microsoft Word, must purchase the required software.
Typically, there are two techniques which allow the selective utilization of software applications by a processing device. In the first technique, each processing device is programmed at the manufacturer's factory with software applications stored in a non-volatile memory such as PROM (programmable read-only memory). Processing devices are distinguished by codeplug bits which enable various software applications. Thus, the non-volatile memories of such processing devices contain the-same software, but those applications necessary for additional types of communication are enabled (via the codeplug bits) only in authorized processing devices. Alternatively, an external programming device may be used to enable software applications. For instance, many communication products made by Motorola utilize Radio Service Software (RSS), which operates on a typical personal computer, to enable various software features.
A second technique for selective software utilization is to add software applications via an external programming device similar to RSS. For this technique, individual processing devices contain a reprogrammable non-volatile memory such as EEPROM (electrically erasable programmable read-only memory) for storing the software applications. Similarly, software contained in a storage device, such as a floppy disk, can be purchased and added to a personal computer. Unfortunately, neither of the two techniques discussed above are able to fully prevent unauthorized use or possession of software applications.
It is possible for a user to copy the non-volatile memory of a processing device and place the replicated software applications into the non-volatile memory of another processing device, thereby creating a substantially identical processing device without paying an additional fee. Such tactics are often employed in systems where users are charged according to the number of copies of a software application used in the system. Alternatively, anyone in possession of the appropriate external programming device, such as RSS or a floppy disk, can illicitly enable or add unauthorized software applications. The unauthorized use and duplication of software applications not only cheats manufacturers of their entitled fees, they also overburden critically scarce communication resources and interfere with the authorized communications of other processing devices.
Further exacerbating the use of unauthorized software applications is the difficulty of its detection. Often, the only way to detect unauthorized use and duplication is to individually examine each processing device. Obviously, this is a costly proposition when thousands of processing devices are involved. Therefore a need exists for a method which allows the detection of unauthorized use and possession of software applications in processing devices.